package com.ity.teamanagement.mapper;

import com.ity.teamanagement.entity.inputParam.BackSearchTeaParam;
import com.ity.teamanagement.entity.inputParam.ScreenParam;
import com.ity.teamanagement.entity.outputResult.*;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author coderFu
 * @create 2021/5/24
 */
@Mapper
public interface TeaSearchMapper {

    /**
     * 根据条件查询所有茶种数目
     * @param screenParam
     * @return
     */
    int findTeaListTotalByCondition(ScreenParam screenParam);

    /**
     * 根据条件查询茶种信息
     * @param screenParam
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<TeaMessageList> findTeaListByCondition(ScreenParam screenParam, int pageNumber, int pageSize);

//    /**
//     * 查询所有茶种数目
//     * @return
//     */
//    int findAllTeaList();
//
//    /**
//     * 查询所有茶种列表
//     * @param pageNumber
//     * @param pageSize
//     * @return
//     */
//    List<TeaMessageList> findTeaList(int pageNumber, int pageSize);

    /**
     * 根据茶中id查询茶树详细信息，中间转换值
     * @param id
     * @return
     */
    TeaDetailsTempA findTempTeaMessageA(Long id);

    /**
     * 根据茶种id查询图片信息
     * @param id
     * @return
     */
    List<TeaImgVo> findTeaImgListById(Long id);

    /**
     * 根据条件后台查询所有茶种数目
     * @param backSearchTeaParam
     * @return
     */
    int backFindAllTeaCountByCondition(BackSearchTeaParam backSearchTeaParam);

    /**
     * 后台根据条件查询茶种信息，无条件时，默认全部查询倒序排列
     * @param backSearchTeaParam
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<BackTeaListMessage> backFindAllTeaListByCondition(BackSearchTeaParam backSearchTeaParam, int pageNumber, int pageSize);

    /**
     * 根据文章图片组id查询文章图片
     * @param aKeyId
     * @return
     */
    List<ArticleImg> findArticleImgByKeyId(Long aKeyId);

    /**
     * 查询茶种附加信息
     * @param id
     * @return
     */
    List<TeaRemarksMessageDetails> findRemarkMessageById(Long id);

    /**
     * 根据附加图片的id附加图片信息
     * @param exKeyIds
     * @return
     */
    List<ExTeaImg> findTeaImgListByIds(List<Long> exKeyIds);
}
